* clean 2011 census data
********************************************************************************
* prelims
********************************************************************************
{ 
clear all
cap log close
set more off

}
********************************************************************************
* raw to dta
********************************************************************************
{
** raw to dta each region
forval reg = 1(1)19 {

	* fix local for regions with code lower than 10
	if `reg' < 10 {
		local reg = "0" + "`reg'"
	}
	
* load csv data
import delimited "$orig/ine/indicadores_seccion_censal_csv/C2011_ccaa`reg'_Indicadores.csv", encoding(UTF-8) clear

* store temp dta
compress
save "$data/temp/C2011_ccaa`reg'_Indicadores.dta", replace

}

* put together
clear
forval reg = 1(1)19 {

	* fix local for regions with code lower than 10
	if `reg' < 10 {
		local reg = "0" + "`reg'"
	}
	
* append
append using "$data/temp/C2011_ccaa`reg'_Indicadores.dta"
* erase temp file
cap erase "$data/temp/C2011_ccaa`reg'_Indicadores.dta"
	
}

* store
compress
save "$data/temp/census2011_csec.dta", replace

}
********************************************************************************
* clean data at census tract level
********************************************************************************
{
use "$data/temp/census2011_csec.dta", clear

* rename and label
ren t1_1 tot_pop
la var tot_pop "Población total"
ren t2_1 men
la var men "Hombres"
ren t2_2 wom
la var wom "Mujeres"
ren t3_1 age_less16
la var age_less16 "Personas de menos de 16 años"
ren t3_2 age_16to64
la var age_16to64 "Personas entre 16 (incluido) y 64 (incluido) años"
ren t3_3 age_more64
la var age_more64 "Personas con más de 64 años"
ren t4_1 brn_spain
la var brn_spain "Personas que han nacido en España"
ren t4_2 brn_EU
la var brn_EU "Personas que han nacido en otro estado miembro de la UE"
ren t4_3 brn_eur
la var brn_eur "Personas que han nacido en un país europeo que no es miembro de la UE"
ren t4_4 brn_afr
la var brn_afr "Personas que han nacido en Africa"
ren t4_5 brn_centam
la var brn_centam "Personas que han nacido en América Central, del Sur o Caribe"
ren t4_6 brn_northam
la var brn_northam "Personas que han nacido en América del Norte"
ren t4_7 brn_asia
la var brn_asia "Personas que han nacido en Asia"
ren t4_8 brn_ocean
la var brn_ocean "Personas que han nacido en Oceanía"
ren t5_1 natspn_brnspn
la var natspn_brnspn "Personas de nacionalidad española que han nacido en España"
ren t5_2 natoth_brnspn
la var natoth_brnspn "Personas de nacionalidad extranjera que han nacido en España"
ren t5_3 natspn_brnEU
la var natspn_brnEU "Personas de nacionalidad española que han nacido en otro estado miembro de la UE"
ren t5_4 natoth_brnEU
la var natoth_brnEU "Personas de nacionalidad extranjera que han nacido en otro estado miembro de la UE"
ren t5_5 natspn_brneur 
la var natspn_brneur "Personas de nacionalidad española que han nacido en un país europeo que no es miembro de la UE"
ren t5_6 natoth_brneur
la var natoth_brneur "Personas de nacionalidad extranjera que han nacido en un país europeo que no es miembro de la UE"
ren t5_7 natspn_brnafr
la var natspn_brnafr "Personas de nacionalidad española que han nacido en Africa"
ren t5_8 natoth_brnafr
la var natoth_brnafr "Personas de nacionalidad extranjera que han nacido en Africa"
ren t5_9 natspn_brncentam
la var natspn_brncentam "Personas de nacionalidad española que han nacido en América Central, del Sur o Caribe"
ren t5_10 natoth_brncentam
la var natoth_brncentam "Personas de nacionalidad extranjera que han nacido en América Central, del Sur o Caribe"
ren t5_11 natspn_brnnortham
la var natspn_brnnortham "Personas de nacionalidad española que han nacido en América del Norte"
ren t5_12 natoth_brnnortham
la var natoth_brnnortham "Personas de nacionalidad extranjera que han nacido en América del Norte"
ren t5_13 natspn_brnasia
la var natspn_brnasia "Personas de nacionalidad española que han nacido en Asia"
ren t5_14 natoth_brnasia
la var natoth_brnasia "Personas de nacionalidad extranjera que han nacido en Asia"
ren t5_15 natspn_brnocean
la var natspn_brnocean "Personas de nacionalidad española que han nacido en Oceanía"
ren t5_16 natoth_brnocean
la var natoth_brnocean "Personas de nacionalidad extranjera que han nacido en Oceanía"
ren t6_1 nat_spn
la var nat_spn "Personas de nacionalidad española"
ren t6_2 nat_oth
la var nat_oth "Personas de nacionalidad extranjera"
ren t7_1 m_age_less16
la var m_age_less16 "Hombres de menos de 16 años"
ren t7_2 m_age_16to64
la var m_age_16to64 "Hombres entre 16 (incluido) y 64 (incluido) años"
ren t7_3 m_age_more64
la var m_age_more64 "Hombres con más de 64 años"
ren t7_4 w_age_less16
la var w_age_less16 "Mujeres de menos de 16 años"
ren t7_5 w_age_16to64
la var w_age_16to64 "Mujeres entre 16 (incluido) y 64 (incluido) años"
ren t7_6 w_age_more64
la var w_age_more64 "Mujeres con más de 64 años"
ren t8_1 m_natspn
la var m_natspn "Hombres con nacionalidad española"
ren t8_2 m_natoth
la var m_natoth "Hombres con nacionalidad extranjera"
ren t8_3 w_natspn
la var w_natspn "Mujeres con nacionalidad española"
ren t8_4 w_natoth
la var w_natoth "Mujeres con nacionalidad extranjera"
ren t9_1 nat_spn_less16
la var nat_spn_less16 "Personas de nacionalidad española de menos de 16 años"
ren t9_2 nat_oth_less16
la var nat_oth_less16 "Personas de nacionalidad extranjera de menos de 16 años"
ren t9_3 nat_spn_16to64
la var nat_spn_16to64 "Personas de nacionalidad española entre 16 (incluido) y 64 (incluido) años"
ren t9_4 nat_oth_16to64
la var nat_oth_16to64 "Personas de nacionalidad extranjera entre 16 (incluido) y 64 (incluido) años"
ren t9_5 nat_spn_more64
la var nat_spn_more64 "Personas de nacionalidad española con más de 64 años"
ren t9_6 nat_oth_more64
la var nat_oth_more64 "Personas de nacionalidad extranjera con más de 64 años"
ren t10_1 single
la var single "Personas con estado civil soltero"
ren t10_2 married
la var married "Personas con estado civil casado"
ren t10_3 separated
la var separated "Personas con estado civil separado"
ren t10_4 divorced
la var divorced "Personas con estado civil divorciado"
ren t10_5 widowed
la var widowed "Personas con estado civil viudo"
ren t11_1 single_less16
la var single_less16 "Personas con estado civil soltero de menos de 16 años"
ren t11_2 single_16to64
la var single_16to64 "Personas con estado civil soltero entre 16 (incluido) y 64 (incluido) años"
ren t11_3 single_more64
la var single_more64 "Personas con estado civil soltero con más de 64 años"
ren t11_4 married_less16
la var married_less16 "Personas con estado civil casado de menos de 16 años"
ren t11_5 married_16to64
la var married_16to64 "Personas con estado civil casado entre 16 (incluido) y 64 (incluido) años"
ren t11_6 married_more64
la var married_more64 "Personas con estado civil casado con más de 64 años"
ren t11_7 sep_less16
la var sep_less16 "Personas con estado civil separado de menos de 16 años"
ren t11_8 sep_16to64
la var sep_16to64 "Personas con estado civil separado entre 16 (incluido) y 64 (incluido) años"
ren t11_9 sep_more64
la var sep_more64 "Personas con estado civil separado con más de 64 años"
ren t11_10 div_less16
la var div_less16 "Personas con estado civil divorciado de menos de 16 años"
ren t11_11 div_16to64
la var div_16to64 "Personas con estado civil divorciado entre 16 (incluido) y 64 (incluido) años"
ren t11_12 div_more64
la var div_more64 "Personas con estado civil divorciado con más de 64 años"
ren t11_13 wid_less16
la var wid_less16 "Personas con estado civil viudo de menos de 16 años"
ren t11_14 wid_16to64
la var wid_16to64 "Personas con estado civil viudo entre 16 (incluido) y 64 (incluido) años"
ren t11_15 wid_more64
la var wid_more64 "Personas con estado civil viudo con más de 64 años"
ren t12_1 illiterate
la var illiterate "Personas analfabetas"
ren t12_2 no_educ
la var no_educ "Personas sin estudios"
ren t12_3 primary_educ
la var primary_educ "Personas con estudios de primer grado"
ren t12_4 secondary_educ
la var secondary_educ "Personas con estudios de segundo grado"
ren t12_5 tertiary_educ
la var tertiary_educ "Personas con estudios de tercer grado"
ren t12_6 no_info_educ
la var no_info_educ "Personas sin información sobre su nivel de estudios (menores de 16 años)"
ren t13_1 m_ill
la var m_ill "Hombres analfabetos"
ren t13_2 w_ill
la var w_ill "Mujeres analfabetas"
ren t13_3 m_noed
la var m_noed "Hombres sin estudios"
ren t13_4 w_noed
la var w_noed "Mujeres sin estudios"
ren t13_5 m_prim
la var m_prim "Hombres con estudios de primer grado"
ren t13_6 w_prim
la var w_prim "Mujeres con estudios de primer grado"
ren t13_7 m_sec
la var m_sec "Hombres con estudios de segundo grado"
ren t13_8 w_sec
la var w_sec "Mujeres con estudios de segundo grado"
ren t13_9 m_tert
la var m_tert "Hombres con estudios de tercer grado"
ren t13_10 w_tert
la var w_tert "Mujeres con estudios de tercer grado"
ren t13_11 m_noin
la var m_noin "Hombres sin información sobre su nivel de estudios (menores de 16 años)"
ren t13_12 w_noin
la var w_noin "Mujeres sin información sobre su nivel de estudios (menores de 16 años)"
ren t14_1 natspn_ill
la var natspn_ill "Personas de nacionalidad española y analfabetos"
ren t14_2 natoth_ill
la var  natoth_ill "Personas de nacionalidad extranjera y analfabetas"
ren t14_3 natspn_noed
la var natspn_noed "Personas de nacionalidad española sin estudios"
ren t14_4 natoth_noed
la var natoth_noed "Personas de nacionalidad extranjera sin estudios"
ren t14_5 natspn_prim
la var natspn_prim "Personas de nacionalidad española con estudios de primer grado"
ren t14_6 natoth_prim
la var natoth_prim "Personas de nacionalidad extranjera con estudios de primer grado"
ren t14_7 natspn_sec
la var natspn_sec "Personas de nacionalidad española con estudios de segundo grado"
ren t14_8 natoth_sec
la var natoth_sec "Personas de nacionalidad extranjera con estudios de segundo grado"
ren t14_9 natspn_tert
la var natspn_tert "Personas de nacionalidad española con estudios de tercer grado"
ren t14_10 natoth_tert
la var natoth_tert "Personas de nacionalidad extranjera con estudios de tercer grado"
ren t14_11 natspn_noin 
la var natspn_noin "Personas de nacionalidad española sin información sobre su nivel de estudios (menores de 16 años)"
ren t14_12 natoth_noin
la var natoth_noin "Personas de nacionalidad extranjera sin información sobre su nivel de estudios (menores de 16 años)"
ren t15_2 ill_16to64
la var ill_16to64 "Personas entre 16 (incluido) y 64 (incluido) años y analfabetas"
ren t15_3 ill_more64
la var ill_more64 "Personas con más de 64 años y analfabetas"
ren t15_5 noed_16to64
la var noed_16to64 "Personas entre 16 (incluido) y 64 (incluido) años sin estudios"
ren t15_6 noed_more64
la var noed_more64 "Personas con más de 64 años sin estudios"
ren t15_8 prim_16to64
la var prim_16to64 "Personas entre 16 (incluido) y 64 (incluido) años con estudios de primer grado"
ren t15_9 prim_more64
la var prim_more64 "Personas con más de 64 años con estudios de primer grado"
ren t15_11 sec_16to64 
la var sec_16to64 "Personas entre 16 (incluido) y 64 (incluido) años con estudios de segundo grado"
ren t15_12 sec_more64
la var sec_more64 "Personas con más de 64 años con estudios de segundo grado"
ren t15_14 tert_16to64 
la var tert_16to64 "Personas entre 16 (incluido) y 64 (incluido) años con estudios de tercer grado"
ren t15_15 tert_more64
la var tert_more64 "Personas con más de 64 años con estudios de tercer grado"
ren t15_16 less_16_ed 
la var less_16_ed "Personas de menos de 16 años (no se dispone de información sobre su nivel de estudios)"
ren t16_1 tot_house
la var tot_house "Total Viviendas"
ren t17_1 prim_house
la var prim_house "Viviendas Principales"
ren t17_2 sec_house
la var sec_house "Viviendas Secundarias"
ren t17_3 vac_house
la var vac_house "Viviendas Vacías"
ren t18_1 h_own_paid
la var h_own_paid "Viviendas en propiedad, por compra, totalmente pagada"
ren t18_2 h_own_pend
la var h_own_pend "Viviendas en propiedad, por compra, con pagos pendientes"
ren t18_3 h_own_inh
la var h_own_inh "Viviendas en propiedad, por herencia o donación"
ren t18_4 h_rent
la var h_rent "Viviendas en alquiler"
ren t18_5 h_cede
la var h_cede "Viviendas cedida gratis o a bajo precio"
ren t18_6 h_other
la var h_other "Viviendas en otro tipo de régimen de tenencia"
ren t19_1 h_less30
la var h_less30 "Viviendas de menos de 30m2"
ren t19_2 h_30to45
la var h_30to45 "Viviendas entre 30-45 m2"
ren t19_3 h_46to60
la var h_46to60 "Viviendas entre 46-60 m2"
ren t19_4 h_61to75
la var h_61to75 "Viviendas entre 61-75 m2"
ren t19_5 h_76to90
la var h_76to90 "Viviendas entre 76-90 m2"
ren t19_6 h_91to105
la var h_91to105 "Viviendas entre 91-105 m2"
ren t19_7 h_106to120
la var h_106to120 "Viviendas entre 106-120 m2"
ren t19_8 h_121to150
la var h_121to150 "Viviendas entre 121-150 m2"
ren t19_9 h_151to180
la var h_151to180 "Viviendas entre 151-180 m2"
ren t19_10 h_more180
la var h_more180 "Viviendas de más de 180 m2"
ren t20_1 h_1res
la var h_1res "Viviendas con 1 habitación"
ren t20_2 h_2res
la var h_2res "Viviendas con 2 habitaciones"
ren t20_3 h_3res
la var h_3res "Viviendas con 3 habitaciones"
ren t20_4 h_4res
la var h_4res "Viviendas con 4 habitaciones"
ren t20_5 h_5res
la var h_5res "Viviendas con 5 habitaciones"
ren t20_6 h_6res
la var h_6res "Viviendas con 6 habitaciones"
ren t20_7 h_7res
la var h_7res "Viviendas con 7 habitaciones"
ren t20_8 h_8res
la var h_8res "Viviendas con 8 habitaciones"
ren t20_9 h_9moreres
la var h_9moreres "Viviendas con 9 o más  habitaciones"
ren t21_1 tot_hh
la var tot_hh "Total Hogares"
ren t22_1 hh_1per
la var hh_1per "Hogares de 1 persona"
ren t22_2 hh_2per
la var hh_2per "Hogares de 2 persona"
ren t22_3 hh_3per
la var hh_3per "Hogares de 3 persona"
ren t22_4 hh_4per
la var hh_4per "Hogares de 4 persona"
ren t22_5 hh_5per
la var hh_5per "Hogares de 5 persona"
ren t22_6 hh_6per
la var hh_6per "Hogares de 6 o más personas"

* final adjustments - rename
	* region
rename ccaa region

	* province
tostring cpro, g(ProvCode)
replace ProvCode = "0" + ProvCode if length(ProvCode) == 1
rename cpro prov

	* municipality
tostring cmun, g(MunCode)
replace MunCode = "00" + MunCode if length(MunCode) == 1
replace MunCode = "0" + MunCode if length(MunCode) == 2 

g muncode = ProvCode + MunCode
la var muncode "Municipality Code"
drop cmun
	
	* district
tostring dist, replace force 
rename dist DistrictCode
la var DistrictCode "Census District Code"
replace DistrictCode = "0" + DistrictCode  if length(DistrictCode) == 1

	* tract
tostring secc, replace force
rename secc SectionCode
la var SectionCode "Section Code"

replace SectionCode = "00" + SectionCode if length(SectionCode) == 1
replace SectionCode = "0" + SectionCode  if length(SectionCode) == 2

* add labels
	* region
label define region 1 "Andalucia" 2 "Aragon" 3 "Asturias" 4 "Baleares" /*
*/ 5 "Canarias" 6 "Cantabria" 7 "Castilla Leon" 8 "Castila La Mancha" /*
*/ 9 "Catalunya" 10 "Valencia" 11 "Extremadura" 12 "Galicia" 13 "Madrid" /*
*/ 14 "Murcia" 15 "Navarra" 16 "Pais Vasco" 17 "Rioja" 18 "Ceuta" 19 "Melilla" /*
*/ 0 "National"
label val region region
la var region "Region"

	* province
label def province 1 "Alaba" 2 "Albacete" 3 "Alicante" 4 "Almeria" 5 "Avila" /*
*/ 6 "Badajoz" 7 "Baleares" 8 "Barcelona" 9 "Burgos" 10 "Caceres" 11 "Cadiz" /*
*/ 12 "Castellon" 13 "Ciudad Real" 14 "Cordoba" 15 "Coruña" 16 "Cuenca" /*
*/ 17 "Girona" 18 "Granada" 19 "Guadalajara" 20 "Gipuzkoa" 21 "Huelva" /*
*/ 22 "Huesca" 23 "Jaen" 24 "Leon" 25 "Lleida" 26 "Rioja" 27 "Lugo" 28 "Madrid" /*
*/ 29 "Malaga" 30 "Murcia" 31 "Navarra" 32 "Ourense" 33 "Asturias" 34 "Palencia" /*
*/ 35 "Palmas" 36 "Pontevedra" 37 "Salamanca" 38 "Santa Cruz de Tenerife" /*
*/ 39 "Cantabria" 40 "Segovia" 41 "Sevilla" 42 "Soria" 43 "Tarragona" 44 "Teruel" /*
*/ 45 "Toledo" 46 "Valencia" 47 "Valladolid" 48 "Bizkaia" 49 "Zamora" 50 "Zaragoza" /*
*/ 51 "Ceuta" 52 "Melilla"
la val prov province
la var prov "Province"

* numeric version
destring MunCode, g(cmun)
destring DistrictCode, g(cdis)
destring SectionCode, g(csec)
la var cmun "Municipality Code"
la var cdis "Distict Code"
la var csec "Section Code"

* rename
rename ProvCode CPRO
rename MunCode CMUN
rename DistrictCode CDIS
rename SectionCode CSEC

* store
compress
order region CPRO prov CMUN cmun CDIS cdis CSEC csec
save "$data/int/census2011_csec.dta", replace

* erase temp data
cap erase "$data/temp/census2011_csec.dta"

}
********************************************************************************
* aggregate at census district level
********************************************************************************
{
* load
use "$data/int/census2011_csec.dta", clear

* variables defining aggregation level
local agglev region CPRO prov CMUN muncode cmun CDIS cdis

* variables to aggregate
qui des, varlist
local vars `r(varlist)'
local omit `agglev' CSEC csec
local want : list vars - omit

* aggregate
foreach var in `want' {

	* store label of variable to aggregate
	local label : var label `var'
	* generate aggregated variable
	bys `agglev': egen t_`var' = total(`var'), missing
	* drop old variable
	drop `var'
	* rename new variable
	rename t_`var' `var'
	* assign old var label to new variable
	la var `var' "`label'"

}

* aggregate at census district level
duplicates drop `agglev', force
drop CSEC csec

* store
compress
sort prov muncode cmun cdis
order region CPRO prov CMUN cmun CDIS cdis
save "$data/int/census2011_cdis.dta", replace

}
********************************************************************************
* closing
********************************************************************************
{
cap log close
clear
}
